package com.tamo.ppresta.httpapi;

import com.hjq.http.config.IRequestApi;
import com.tamo.ppresta.constant.API_CONSTANT;

/**
 * @author yeyang
 * @name ppresta
 * @class name：com.tamo.ppresta.httpapi
 * @class describe
 * @time 2022/12/18 20:58
 * @change
 * @chang time
 * @class describe
 */
public class LoginApi implements IRequestApi {

    @Override
    public String getApi() {
        return API_CONSTANT.APP_LOGIN;
    }

    /**
     * 语言 中文 CH 西班牙 ESP
     */
    private String languageCode;
    /**
     * 应用编码 PPR
     */
    private String itemCode;
    /**
     * 登录手机号 +57
     */
    private String mobile;
    /**
     * 登录密码
     */
    private String password;
    /**
     * 短信登录验证码; （验证码登录必传,短信(语音)验证码）
     */
    private String smsCode;
    /**
     * 注册渠道(邀请)码
     */
    private String invitCode;
    /**
     * app版本号
     */
    private String appVersion;
    /**
     * app包名
     */
    private String appPackage;
    /**
     * 登录wifi 有则传，无则不传
     */
    private String deciveBrand;
    /**
     * 设备ID
     */
    private String deciveId;
    /**
     * 设备型号
     */
    private String deviceModel;
    /**
     * 登录wifi 有则传，无则不传
     */
    private String wifiStr;
    /**
     * 整合流量方公司编码 adjust appsFly
     */
    private String flowCompanyCode;
    /**
     * 整合流量方公司绑定ID gpsAdid(adjust),appsflyerId(AF)
     */
    private String flowBindId;
    /**
     * 推送平台
     */
    private String pushPlatForm;
    /**
     * 推送平台绑定的推送id
     */
    private String pushBindId;

    /**
     * 语言 中文 CH 西班牙 ESP Y
     *
     * @param languageCode
     * @return
     */
    public LoginApi setLanguageCode(String languageCode) {
        this.languageCode = languageCode;
        return this;
    }

    /**
     * 应用编码 PPR Y
     *
     * @param itemCode
     * @return
     */
    public LoginApi setItemCode(String itemCode) {
        this.itemCode = itemCode;
        return this;
    }

    /**
     * 登录手机号 +57 Y
     *
     * @param mobile
     * @return
     */
    public LoginApi setMobile(String mobile) {
        this.mobile = mobile;
        return this;
    }

    /**
     * 登录密码 Y
     *
     * @param password
     * @return
     */
    public LoginApi setPassword(String password) {
        this.password = password;
        return this;
    }

    /**
     * 短信登录验证码; （验证码登录必传,短信(语音)验证码）Y
     *
     * @param smsCode
     * @return
     */
    public LoginApi setSmsCode(String smsCode) {
        this.smsCode = smsCode;
        return this;
    }

    /**
     * 注册渠道(邀请)码    Y
     *
     * @param invitCode
     * @return
     */
    public LoginApi setInvitCode(String invitCode) {
        this.invitCode = invitCode;
        return this;
    }

    /**
     * app版本号   Y
     *
     * @param appVersion
     * @return
     */
    public LoginApi setAppVersion(String appVersion) {
        this.appVersion = appVersion;
        return this;
    }

    /**
     * app包名    Y
     *
     * @param appPackage
     * @return
     */
    public LoginApi setAppPackage(String appPackage) {
        this.appPackage = appPackage;
        return this;
    }

    /**
     * 手机品牌 N
     *
     * @param deciveBrand
     * @return
     */
    public LoginApi setDeciveBrand(String deciveBrand) {
        this.deciveBrand = deciveBrand;
        return this;
    }

    /**
     * 设备ID N
     *
     * @param deciveId
     * @return
     */
    public LoginApi setDeciveId(String deciveId) {
        this.deciveId = deciveId;
        return this;
    }

    /**
     * 设备型号 N
     *
     * @param deviceModel
     * @return
     */
    public LoginApi setDeviceModel(String deviceModel) {
        this.deviceModel = deviceModel;
        return this;
    }

    /**
     * wifi名称   N
     *
     * @param wifiStr
     * @return
     */
    public LoginApi setWifiStr(String wifiStr) {
        this.wifiStr = wifiStr;
        return this;
    }

    /**
     * 整合流量方公司编码 adjust appsFly N
     *
     * @param flowCompanyCode
     * @return
     */
    public LoginApi setFlowCompanyCode(String flowCompanyCode) {
        this.flowCompanyCode = flowCompanyCode;
        return this;
    }

    /**
     * 整合流量方公司绑定ID gpsAdid(adjust),appsflyerId(AF)  N
     *
     * @param flowBindId
     * @return
     */
    public LoginApi setFlowBindId(String flowBindId) {
        this.flowBindId = flowBindId;
        return this;
    }

    /**
     * 推送平台 N
     *
     * @param pushPlatForm
     * @return
     */
    public LoginApi setPushPlatForm(String pushPlatForm) {
        this.pushPlatForm = pushPlatForm;
        return this;
    }

    /**
     * 推送平台绑定的推送id  N
     *
     * @param pushBindId
     * @return
     */
    public LoginApi setPushBindId(String pushBindId) {
        this.pushBindId = pushBindId;
        return this;
    }
}